package task8.queue;
import java.util.ArrayList;
import java.util.List;
/**
* 约瑟夫环
*/
public class Josephus {
public static List<Integer> execute(int n, int m) {
CircleQueue<Integer> queue = new CircleQueue<>(n);
for (int i = 0; i < n; i++) {
queue.enQueue(i);
}
List<Integer> resultList = new ArrayList<>(n);
int flag = 0;
while (!queue.isEmpty()) {
flag++;
if (flag % m == 0) {
resultList.add(queue.deQueue());
}
}
return resultList;
}
}